#ifndef KMALLOC_H
#define KMALLOC_H

#define kmalloc(x)     __alloc((x), 0, 0)
#define kmalloca(x)    __alloc((x), 0, 1)
#define kmallocp(x,p)  __alloc((x), (p), 0)
#define kmallocpa(x,p) __alloc((x), (p), 1)

void *__alloc(uint32 size, void **phys, uint8 align);
void kfree(void* addr);
void malloc_init(uint32 mem_end);

#endif
